![AWS IoT Analyticsのシングルステップ セットアップで簡単にIoTデータの分析環境を作成できるようになりました](https://devio2023-media.developers.io/wp-content/uploads/2018/11/eyecatch_aws-iot-analytics_1200x630.jpeg)
AWS IoT Analyticsのシングルステップ セットアップで簡単にIoTデータの分析環境を作成できるようになりました
まいど、大阪の市田です。 先日、AWS IoT Analyticsに関する新しいアップデートがありました。
AWS Developer Forums: AWS IoT Analytics now supports Single Step Setup of IoT Analytics Resources
一言で言うと「AWS IoT Analyticsでデータ分析する環境構築が簡単にできるようになった」というものです。
これまでの環境構築
これまでAWS IoT Analyticsを使う場合、「チャネル」「データストア」「パイプライン」「データセット」「IoTルール」などを個別に作成する必要があり、少々手数が多い作業内容になっていました。
今回のアップデートで「リソースプレフィックス」と「トピック」を指定するだけで上記のリソースを全部作成できるようになりました。素晴らしいですね。
やってみる
作業内容は超絶簡単です。 AWS IoT Analyticsの画面で「リソースプレフィックス」とデータをpublishする「トピック」を指定するだけです。最後に「Quick Create」をクリックします。これだけです!
今回、各項目は下記の様にしました。
- リソースプレフィックス:MyFirstProject
- トピック:myiot/analytics/test
順にリソースが作成されていきます。終わるのに10秒もかかりません。
下のように全て正常に作成できたら完了です!
作成されたリソースを確認してみる
せっかくなので、どんな内容のリソースが作成されたのか確認してみたいと思います。
チャネル
「myfirstproject_channel」というチャネルが作成されています。その他はデフォルト(データ保持は無期限)です。
コンソールで作成するときは、チャネル作成時に取り込み対象のトピックフィルタの作成も行いますが、実際にはAWS IoT Core側のリソースになるので後でまとめて見ることにします。 (このシングルステップ セットアップでも、AWS IoT Core側に自動作成してくれています。)
データストア
「myfirstproject_datastore」というデータストアが作成されています。チャネルと同様に、その他はデフォルト(処理済みデータ保持期間は無期限)です。
パイプライン
「myfirstproject_pipeline」というパイプラインが作成されています。上記のチャネルとデータストアがそれぞれ関連付けられていることが分かります。
属性は何も入っていません。ここは明示的な指定がなければそのままでよいかと思います。
データセット
データセットで作成されるSQLクエリは、下記のようにSELECT * FROM
のようなので、検索したい内容に応じて変更するようにしましょう。
IoTルール
次にAWS IoT Core側を確認してみたいと思います。
IoTルールでは、トピックに来たデータ全てがIoT Analyticsに渡されるルールクエリになっています。これも必要に応じて修正するようにします。
トピックフィルタには#
と+
のワイルドカードが利用できます。
IoT Analyticsにメッセージを送るために必要なIAM Roleも作成してくれます。
動作確認
一通りリソースが作成されていることが確認できたので、この内容でデータ検索できるか検証してみます。 まずは適当なデータをPublishします。今回は簡単にAWS IoT Coreのマネジメントコンソール上でPublishしました。
データ内容はAWSドキュメントにあるものを使っています。適当に値を変えて2,3個データをpublishしてみましょう。
{ "thingid": "dht1", "temperature": 26, "humidity": 29, "datetime": "2018-01-26T07:06:01" }
データ投入ができたので、データセットの画面から検索を実行します。「Action」から「Run now」をクリックしてください。
コンソール画面左上のステータス表示が「SUCCEEDED」になれば正常終了です。画面中頃の「Result preview」に検索結果の一部が表示されます。
抽出条件を変えて異なるデータを取得することも可能です。下記は「湿度(humidity)が28より大きい」データを取得しています。
SELECT thingid, temperature, humidity, datetime FROM MyFirstProject_datastore where humidity > 28
最後に
マネジメントコンソール上でも簡単にIoT Analyticsの環境をセットアップできるようになりました。 ぜひ活用していただければと思います。
以上です。